package com.basic.modules.nykf.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.basic.common.annotation.DictParam;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@TableName("n_ykf_customer_shop_business")
public class CustomerShopBusinessEntity {

    private static final long serialVersionUID = 1L;

    @TableId
    private Long customerShopBusinessId;

    /**
     * 客户ID
     */
    private Long customerId;

    /**
     * 店铺ID
     */
    private Long customerShopId;

    /**
     * 业务名称
     */
    private String ywmc;

    /**
     * 业务条线(字典)-val
     */
    private String ywtxVal;

    /**
     * 业务条线
     */
    @DictParam(field = "ywtxVal", targetField = "ywtxName", dictType = "ywtx")
    private String ywtxName;

    /**
     * 业务类型(字典)-val
     */
    private String ywlxVal;

    /**
     * 业务类型
     */
    @DictParam(field = "ywlxVal", targetField = "ywlxName", dictType = "ywlx")
    private String ywlxName;

    /**
     * 服务班次(字典)-val
     */
    private String fwbcVal;

    /**
     * 服务班次
     */
    @DictParam(field = "fwbcVal", targetField = "fwbcName", dictType = "serviceShift")
    private String fwbcName;

    /**
     * 服务类型(字典)-val
     */
    private String fwlxVal;

    /**
     * 服务类型
     */
    @DictParam(field = "kflxVal", targetField = "kflxName", dictType = "customType")
    private String fwlxName;

    /**
     * 收费模式(字典)-val
     */
    private String sfmsVal;

    /**
     * 收费模式
     */
    @DictParam(field = "sfmsVal", targetField = "sfmsName", dictType = "sfms")
    private String sfmsName;

    /**
     * 是否是主业务(字典)-val
     */
    private String isMasterVal;

    /**
     * 是否是主业务
     */
    @DictParam(field = "isMasterVal", targetField = "isMasterName", dictType = "sfszyw")
    private String isMasterName;

    /**
     * 付款方式(字典)-val
     */
    private String fkfsVal;

    /**
     * 付款方式
     */
    @DictParam(field = "fkfsVal", targetField = "fkfsName", dictType = "fkfs")
    private String fkfsName;

    /**
     * 业务底薪
     */
    private BigDecimal ywdx;

    /**
     * 税后-业务底薪
     */
    private BigDecimal shYwdx;

    /**
     * 提成点数
     */
    private BigDecimal tcds;

    /**
     * 业务首次合作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date ywschzsj;

    /**
     * 业务开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date ywkssj;

    /**
     * 业务结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date ywjssj;

    /**
     * 工作标签
     */
    @TableField(exist = false)
    private List<String> gzbqList;

    /**
     * 工作标签
     */
    private String gzbqInfo;

    /**
     * 转化率
     */
    private BigDecimal zhl;

    /**
     * 咨询量
     */
    private Integer zxl;

    /**
     * 合并收费总咨询量
     */
    private Integer zxlSum;

    /**
     * 业务咨询量
     */
    @TableField(exist = false)
    private Integer ywZxl;

    /**
     * 平均响应
     */
    private Integer pjxy;

    /**
     * 满意度
     */
    private BigDecimal myd;

    /**
     * 退款时长
     */
    private Integer tksc;

    /**
     * 是否开票(字典)-val
     */
    private String sfkpVal;

    /**
     * 是否开票
     */
    @DictParam(field = "sfkpVal", targetField = "sfkpName", dictType = "sfkp")
    private String sfkpName;

    /**
     * 开票节点(字典)-val
     */
    private String kpjdVal;

    /**
     * 开票节点
     */
    @DictParam(field = "kpjdVal", targetField = "kpjdName", dictType = "kpjd")
    private String kpjdName;

    /**
     * 公司承担比例
     */
    private Integer gscdbl;

    /**
     * 业务合作状态(字典)-val
     */
    private String ywhzztVal;

    /**
     * 业务合作状态
     */
    @DictParam(field = "ywhzztVal", targetField = "ywhzztName", dictType = "ywhzzt")
    private String ywhzztName;

    /**
     * 业务备注
     */
    private String ywbz;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @TableField(exist = false)
    private String xh;

    /**
     * 创建时间
     */
    private Date updateTime;

    /**
     * 店铺对象
     */
    @TableField(exist = false)
    private CustomerShopEntity customerShop;

}
